package com.regretbuying.front.dao.goods;

import com.regretbuying.pojo.Comment;
import com.regretbuying.pojo.Goods;
import com.regretbuying.pojo.Introduction;
import com.regretbuying.pojo.Specs;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface GoodsDao {

    /**
     * 根据条件查询已上架图书 onshelf,商品规格号查询 goodsId
     * 查询条件：
     *  商品名称模糊查询 goodsName
     *  是否推荐 recommend： false true
     *  商品规格多表联查：
     *      价格price 1（0-4000） 2（4001-6000） 3（6001-8000） 4（8001-10000） 5（>10000）
     * 排序规则 降序：
     *   出版时间publishDate
     *   销量sales
     * 分页：
     *   偏移量offset
     *   取几条size
     */
    List<Goods> findGoodsByParams(Map params) ;

    /**
     * 根据 商品编号和商品规格编号查询
     * @param id 商品编号
     * @return 查询到的对象
     */
    Goods findGoodsById(int id);

    //根据商品和规格Id查询
    Specs findSprcsById(@Param("id") int id, @Param("goodsSpecs")int goodsSpecs);

    /**
     *  根据商品编号查询全部商品规格
     * @param id 商品编号
     * @return 查询到的结果集
     */
    List<Specs> findSpecsByGoodsId(int id);

    Introduction findIntroductionByGoodsId(int id);

    int findCountByGoodsId(int id);

    List<Comment> findCommentByGoodsId(int id);
}
